package com.common.enums;

/**
 * @类名 ResultEnum
 * @描述 TODO 返回值枚举
 * @版本 1.0
 * @创建人 lying
 * @创建时间 2020/4/30 9:15
 * @修改人 lying
 * @修改时间 2020/4/30 9:15
 **/
public enum ResultEnum {


    OK(200, "", ""),
    AUTHORIZATION_REQUIRED(10000, "未授权", "authorization_required"),
    AUTHORIZATION_SUCCESS(10001, "已授权", "authorization_success"),
    AUTHENTICATION_REQUIRED(10002, "用户未认证", "authentication_required"),
    AUTHENTICATION_FAULURE(10003, "用户认证失败", "authentication_faulure"),
    AUTHENTICATION_SUCCESS(10004, "用户认证成功", "authentication_success"),
    AUTHENTICATION_ACCESS_TOKEN_EXPIRED(10005, "AccessToken过期", "authentication_access_token_expired"),
    AUTHENTICATION_REFRESH_TOKEN_EXPIRED(10006, "RefreshToken过期，请重新登录", "authentication_refresh_token_expired"),
    AGAIN_LOGIN(10007, "token不存在,请重新登录", "again_login"),
    ROLE_TYPE_ERROR(10008, "用户类型错误", "account_type_error"),
    LOGIN_FAULURE(10009, "登录失败", "logout_faulure"),
    LOGOUT_SUCCESS(10010, "登出成功", "logout_success"),
    ACCOUNT_PASSWORD_ERROR(10011, "账号或者密码错误", "account_password_error"),
    VERIFICATIONCODE_INVALID(10012, "验证码无效", "verificationcode_invalid"),
    VERIFICATIONCODE_ERROR(10013, "验证码错误", "verificationcode_error"),
    CAPTCHA_INVALID(10014, "验证码无效", "captcha_invalid"),
    CAPTCHA_ERROR(10015, "验证码错误", "captcha_error"),
    ACCOUNT_DUPLICATION(10016, "账号已存在", "account_duplication"),
    PERMISSION_DUPLICATION(10017, "权限已存在", "permission_duplication"),
    ROLE_DUPLICATION(10018, "角色已存在", "role_duplication"),
    GROUP_DUPLICATION(10019, "用户组已存在", "group_duplication"),
    DICT_DUPLICATION(10020, "字典已存在", "dict_duplication"),
    PASSWORD_ERROR(10021, "原密码错误", "password_error"),
    PERMISSION_WITHOUT_CONTROLLED(10022, "权限未被控制", "permission_without_controlled"),
    MOBILE_PHONE_INVALID(10023, "手机号码无效", "mobile_phone_invalid"),
    EMAIL_INVALID(10024, "邮箱无效", "email_invalid"),
    MOBILE_PHONE_NOT_EXIST(10025, "手机号码不存在", "mobile_phone_not_exist"),
    EMAIL_NOT_EXIST(10026, "邮箱不存在", "email_not_exist"),
    REFRESH_TOKEN_INVALID(10027, "refreshToken 无效", "refresh_token_invalid"),
    USERINFO_NOT_FUND(10028, "用户信息未找到", "userinfo_not_fund"),
    ACCOUNT_INEXISTENCE(10029, "该账号不存在,请先注册", "account_inexistence"),
    LOGINNAME_EXISTENCE(10030, "登录名已存在", "loginname_existence"),
    ACCOUNT_LOGGED_IN(10031,"该账号已经登录","account_logged_in"),
    PHONE_EXISTENCE(10032,"该手机号已存在","phone_existence"),
    PASSWORD_NOT_SET(10033,"密码未设置","password_not_set"),
    ACCESS_TOKEN_INVALID(10034,"accesstoken 无效","access_token_invalid"),
    PASSWORD_RESET(10035,"请重新设置您的密码","password_reset"),
    NO_FACE(10036,"没有检测到人脸","NO_FACE"),
    NO_DIRECT_PHOTOGRAPH(10037,"请直接拍摄","no_direct_photograph"),
    AUTHENTICATE_USER_FAILED(10038,"人脸比对失败","authenticate_user_failed"),
    WRONG_CATEGORY(10039,"请上传清晰正确的证件照","wrong category"),
    IDCARD_FACE_NO_MATCHING(10040,"身份证头像和人脸头像不匹配","idcard_face_matching"),
    IDENTITY_VERIFY_FAILED(10041,"身份证信息不符","identity_verify_failed"),
    SUPER_ADMIN_PASSWD_UNABLE(10042, "该账号密码不能修改", "super_admin_passwd_unable"),
    IDCARD_USED(10043,"身份证已被使用，请更换","IDCARD_EXIST"),
    IDCARD_FACE_BLURRY(10044,"无法识别身份证上的头像，请重新上传清晰的身份证","IDCARD_FACE_BLURRY"),
    ROLE_USED(10045,"角色正在使用","role_used"),
    GROUP_USED(10046,"用户组正在使用","group_used"),
    PERMISSION_USED(10047,"权限正在使用","permission_used"),
    NICK_EXIST(10048,"昵称已存在","nick_exist"),
    EMAIL_EXISTENCE(10049, "邮箱已被使用", "email_existence"),
    ACCOUNT_DISABLE(10050, "账号暂不可用", "account_disable"),
    FILE_TYPE_ERROR(10051,"文件类型错误","file_type_error"),
    NO_PERMISSION_TO_ACCESS(10052, "无权限操作", "no_permission_to_access"),
    BANK_NOT_REPEAT_BIND(10053, "银行卡不能重复绑定", "bank_not_repeat_bind"),
    BANK_NOT_BIND(10054, "银行卡不能绑定", "bank_not_bind"),
    PHONE_NOT_MATCHING(10055, "手机号不匹配", "phone_not_matching"),
    NOT_CERTIFICATION(10057, "未实名认证", "not_certification"),
    FANS_TOTAL_UNSLAKED(10058, "粉丝数量未满足", "fans_total_unslaked"),
    VIDEO_TOTAL_UNSLAKED(10059, "视频数量未满足", "video_total_unslaked"),
    UNABLE_TO_OPEN_DIRECTLY(10060, "无法直接开启，请在APP申请开通", "unable_to_open_directly"),
    TEENAGER_IS_CLOSED(10061, "青少年模式未开启", "teenager_is_closed"),
    TEENCODE_IS_WRONG(10062, "青少年模式面错误", "teencode_is_wrong"),
    NOT_FOCUS_YOURSELF(10063, "不能关注自己", "not_focus_yourself"),
    HAVE_BLOCKED_EACH_OTHER(10064, "已经拉黑对方", "have_blocked_each_other"),
    HAS_BEEN_BLOCKED(10065, "已经被对方拉黑", "has_been_blocked"),
    NOT_SUBSCRIBE_TO_YOURSELF(10066, "不能订阅自己", "not_subscribe_to_yourself"),
    ACCOUNT_LOCKED(10067, "账号已被锁定", "account_locked"),
    ACCOUNT_LOGOUT_COUNTDOWN(10068, "账号注销申请已经通过，等待删除", "account_logout_countdown"),
    ACCOUNT_ABNORMAL(10069, "账号异常，请联系客服", "account_abnormal"),
    ACCOUNT_OTHER_DEVICE_LOGGED(10070, "账号已在其他设备登录", "account_other_device_logged"),
    OPPOSITE_ACCOUNT_HAS_LOGOUT(10071, "对方账号已注销", "opposite_account_has_logout"),
    FILE_CORRUPTED(10072, "文件已损坏", "file_corrupted"),
    THIRDPARTY_OPEN_ID_NO_BIND(2000015, "第三方openid未绑定", "thirdparty_open_id_no_bind"),
    THIRDPARTY_OPEN_ID_INVALID(2000016, "第三方openid无效", "thirdparty_open_id_invalid"),
    THIRDPARTY_REFRESH_TOKEN_INVALID(2000017, "第三方refreshToken无效", "thirdparty_refresh_token_invalid"),



    BUSINESS_EXCEPTION(90, "业务异常", "business_exception"),
    TOKEN_EXPIRED(888, "Token过期，请重新登录", "token_expired"),
    IS_LOGIN_OUT(777, "已退出登录，请重新登录", "token_expired"),
    TOKEN_FORMAT_ERROR(999, "Token格式错误", "token_format_error"),
    PARAM_IS_NOT_COMPLETE(92, "请求参数不全", "param_is_not_complete"),
    UNKNOW_EXCEPTION(99, "未知异常", "unknow_exception"),
    NO_DATA(300, "没有数据", "no_data"),
    DOWNLOAD_FAULURE(1001, "文件下载失败", "download_faulure"),
    FORBIDDEN_SEND_VERIFICATION_CODE(1002, "该账号禁止发送验证码", "forbidden_send_verification_code"),
    LOGIN_ON_OTHER_DEVICES(1003, "该账号在其他设备登录", "login_on_other_devices"),
    DIR_NOT_FOUND(1004, "文件夹不存在", "dir_not_found"),
    REPEAT_ANSWER(2000,"重复回答","repeat_answer");







    private Integer code;
    private String message;
    private String i18nKey;


    ResultEnum(Integer code, String message,String i18nKey) {
        this.code = code;
        this.i18nKey = i18nKey;
        this.message = message;
    }

    public String getI18nKey() {
        return i18nKey;
    }

    public void setI18nKey(String i18nKey) {
        this.i18nKey = i18nKey;
    }

    public Integer getCode() {
        return code;
    }

    public void setCode(Integer code) {
        this.code = code;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }
}
